import request from './request'

// 用户注册
export function register(data) {
  return request({
    url: '/api/auth/register',
    method: 'post',
    data
  })
}

// 用户登录
export function login(data) {
  return request({
    url: '/api/auth/login',
    method: 'post',
    data
  })
}

// 获取待审核用户列表
export function getPendingUsers() {
  return request({
    url: '/api/admin/users/pending',
    method: 'get'
  })
}

// 获取所有用户列表
export function getAllUsers() {
  return request({
    url: '/api/admin/users',
    method: 'get'
  })
}

// 审核用户
export function auditUser(data) {
  return request({
    url: '/api/admin/users/audit',
    method: 'post',
    data
  })
}

// 获取当前用户信息
export function getCurrentUser() {
  return request({
    url: '/api/user/profile',
    method: 'get'
  })
}

// 更新用户信息
export function updateUserProfile(data) {
  return request({
    url: '/api/user/profile',
    method: 'put',
    data
  })
}

// 修改密码
export function changePassword(data) {
  return request({
    url: '/api/user/password',
    method: 'put',
    data
  })
}

// 获取角色列表
export function getRoles() {
  return request({
    url: '/api/roles',
    method: 'get'
  })
}

// ===== 用户管理相关API =====

// 获取用户列表（分页）
export function getUserList(params) {
  return request({
    url: '/api/admin/users',
    method: 'get',
    params
  })
}

// 获取用户统计数据
export function getUserStats() {
  return request({
    url: '/api/admin/users/stats',
    method: 'get'
  })
}

// 审核通过用户
export function approveUser(userId) {
  return request({
    url: `/api/admin/users/${userId}/approve`,
    method: 'post'
  })
}

// 拒绝用户申请
export function rejectUser(userId, reason) {
  return request({
    url: `/api/admin/users/${userId}/reject`,
    method: 'post',
    data: { reason }
  })
}

// 更新用户信息（管理员）
export function updateUser(userId, data) {
  return request({
    url: `/api/admin/users/${userId}`,
    method: 'put',
    data
  })
}

// 重置用户密码
export function resetUserPassword(userId) {
  return request({
    url: `/api/admin/users/${userId}/reset-password`,
    method: 'post'
  })
}

// 删除用户
export function deleteUser(userId) {
  return request({
    url: `/api/admin/users/${userId}`,
    method: 'delete'
  })
}

// 获取用户详细信息
export function getUserDetail(userId) {
  return request({
    url: `/api/admin/users/${userId}`,
    method: 'get'
  })
}